package lee.vioson.remotedata.repositories

import kotlinx.coroutines.flow.Flow
import lee.vioson.remotedata.bean.LoginResult

/**
 *Author:viosonlee
 *Date:2023/6/10
 *DESCRIPTION:
 */
interface RegisterRepository {
    /**
     * send verification code to email
     */
    fun sendEmailCode(uniqueId: String, email: String): Flow<Boolean>

    /**
     * register
     */
    fun register(
        uniqueId: String,
        email: String,
        password: String,
        emailCode: String,
        customerSource: String,
        areaCode: String,
        language: String
    ): Flow<LoginResult>

    /**
     * forget password
     */
    fun setPassword(
        uniqueId: String,
        email: String,
        password: String,
        emailCode: String
    ): Flow<LoginResult>
}